<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .font1 {
        font-size: 40px;
        color: red;
      }
      .font2 {
        font-size: 40px;
        color: green;
      }
      .f-weight {
        font-weight: 900;
      }
      .bg {
        background: lightblue;
      }
    </style>
  </head>
  <body>
    <div id="app">
      <h2>class的绑定</h2>
      <!-- 通过常规的方式去改变元素的类名 -->
      <!-- <p :class="show === 1 ? 'font1': 'font2'">一帆风顺的不是人生</p> -->

      <!-- vue对class做了特殊增强，允许我们写对象或者数组 -->
      <!-- 对象：key是类名，value是变量或者表达式 -->
      <!-- 变量或者表达式返回的是真，就添加前面的类名 -->
      <!-- 如果出现了类名有连字符的情况，那么需要转成字符串 -->
      <!-- :class是可以和class一起使用 -->
      <!-- <p :class="{ font1: show === 1, 'f-weight': weight }" class="bg">
        阴差阳错的才是人生
      </p>
      <p :class="[{ font1: true }, {'f-weight': 1 < 2}]">阴差阳错的才是人生</p> -->

      <p
        v-for="(item, index) in arr"
        :key="item"
        :class="{ bg: index === active }"
        @click="fn(index)"
      >
        {{ item }}
      </p>
    </div>

    <script src="./lib/vue3.js"></script>
    <script>
      const { createApp } = Vue;

      createApp({
        data() {
          return {
            show: 1,
            weight: true,
            // obj1: { font1: true },
            // obj2: { "f-weight": 1 < 2 },
            arr: ["1111111111", "222222222", "33333333"],
            active: 1,
          };
        },
        methods: {
          fn(i) {
            // console.log(i);
            this.active = i;
          },
        },
      }).mount("#app");
    </script>
  </body>
</html>
